﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using MySql.Data.MySqlClient;
using MySql.Data.Types;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Collections.Generic;




namespace GCon
{
    /// <summary>
    /// Clase contenedora de faltas
    /// </summary>
    public class Con_Faltas
    {
        public Con_Faltas()
        {
            dFaltas = new Dictionary<String, Con_Falta>();
        }

        public void ListaFaltasPorAlumno(String idAlumno)
        {
            MySqlConnection oConexion;
            MySqlDataAdapter oAdaptador;
            DataSet ds;
            String llamada;
            Con_Falta oFalta;

            oConexion = new MySqlConnection();
            oConexion.ConnectionString = "Server=localhost;Database=MERYLAND;Uid=root;Pwd=MERYLAND;";
            oConexion.Open();

            llamada = "CALL ListaFaltasPorAlumno('" + idAlumno + "')";
            oAdaptador = new MySqlDataAdapter(llamada, oConexion);
            ds = new DataSet();
            oAdaptador.Fill(ds, "Tabla");

            foreach (DataRow dr in ds.Tables[0].Rows)
            {

                oFalta = new Con_Falta();
                oFalta.Set_ID_PK(dr["FALTA_ID_PK"].ToString());
                oFalta.Set_FECHA(dr["FALTA_FECHA"].ToString());
                oFalta.Set_ID_ASIGNATURA(dr["ASIGNATURA_ID_PK"].ToString());
                oFalta.Set_NOM_ASIGNATURA(dr["ASIGNATURA_NOMBRE"].ToString());
                oFalta.Set_JUSTIFICADA(dr["FALTA_JUSTIFICADA"].ToString());

                dFaltas.Add(oFalta.Get_ID_PK(), oFalta);
                oFalta = null;

            }

            oConexion.Close();
        }

        public Con_Falta GetFalta(String Id)
        {
            return this.dFaltas[Id];
        }

        public int cuenta()
        {
            return this.dFaltas.Count;
        }
        ///Atributos
        private Dictionary<String, Con_Falta> dFaltas;
    }
}
